"""
DES加密
数据加密标准（Data Encryption Standard），属于对称加密算法。是一种使用密钥加密的块算法。
接口参数有三个：Key、Data、Mode，Key为工作密钥；Data为8个字节64位，
是要被加密或被解密的数据；Mode工作方式：加密或解密。
"""
import binascii
from pyDes import des, CBC, PAD_PKCS5


# 需要安装 pip install pyDes

# 加密过程
def des_encrypt(secret_key, s):
    iv = secret_key
    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)
    en = k.encrypt(s, padmode=PAD_PKCS5)
    return binascii.b2a_hex(en)


# 解密过程
def des_decrypt(secret_key, s):
    iv = secret_key
    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)
    de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5)
    return de


secret_str = des_encrypt('12345678', 'hello!')
print(secret_str)

clear_str = des_decrypt('12345678', secret_str)
print(clear_str)
